home *** CD-ROM | disk | FTP | other *** search
- //: C14:Combined.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Inheritance & composition
-
- class A {
- int i;
- public:
- A(int ii) : i(ii) {}
- ~A() {}
- void f() const {}
- };
-
- class B {
- int i;
- public:
- B(int ii) : i(ii) {}
- ~B() {}
- void f() const {}
- };
-
- class C : public B {
- A a;
- public:
- C(int ii) : B(ii), a(ii) {}
- ~C() {} // Calls ~A() and ~B()
- void f() const { // Redefinition
- a.f();
- B::f();
- }
- };
-
- int main() {
- C c(47);
- } ///:~
-